// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV })
const db = cloud.database()

// 测试文章数据
const testArticles = [
  {
    title: "微信小程序开发入门",
    content: "微信小程序是一种不需要下载安装即可使用的应用，它实现了应用触手可及的梦想。微信小程序开发使用的是JavaScript、WXML和WXSS，类似于网页开发中的JavaScript、HTML和CSS。本文将介绍微信小程序的基本概念、开发环境搭建以及简单的页面开发流程。通过学习本文，你将能够创建自己的第一个微信小程序。",
    coverImg: "",
    createTime: new Date("2024-05-01 10:00:00"),
    readCount: 42
  },
  {
    title: "云开发实战指南",
    content: "云开发为开发者提供完整的云端支持，包括数据库、存储和云函数。使用云开发，你可以专注于业务逻辑，而不必关心服务器运维。本文将详细介绍如何在微信小程序中使用云开发功能，包括数据库的增删改查、文件存储的上传下载以及云函数的创建与调用。通过实际案例，帮助你快速掌握云开发技术。",
    coverImg: "",
    createTime: new Date("2024-05-02 14:30:00"),
    readCount: 28
  },
  {
    title: "JavaScript基础知识",
    content: "JavaScript是一种轻量级的解释性脚本语言，可嵌入到HTML页面中，由浏览器执行。它是目前最流行的编程语言之一，被广泛应用于Web开发。本文将介绍JavaScript的基本语法、变量、数据类型、函数、对象等核心概念。无论你是编程新手还是有经验的开发者，这篇文章都能帮助你巩固JavaScript基础知识。",
    coverImg: "",
    createTime: new Date("2024-05-03 09:15:00"),
    readCount: 56
  },
  {
    title: "CSS布局技巧",
    content: "CSS是用于控制网页样式和布局的语言。掌握CSS布局技巧对于前端开发至关重要。本文将介绍常见的CSS布局方法，包括Flexbox、Grid、浮动、定位等。通过实例讲解每种布局方法的优缺点和适用场景，帮助你在实际项目中选择最合适的布局方案。学会这些技巧，你将能够创建更加灵活和响应式的网页设计。",
    coverImg: "",
    createTime: new Date("2024-05-04 16:45:00"),
    readCount: 35
  },
  {
    title: "小程序组件化开发",
    content: "组件化开发是现代前端开发的重要思想，它可以提高代码复用率和可维护性。微信小程序提供了自定义组件的能力，让开发者可以将页面拆分成多个可复用的组件。本文将详细介绍小程序组件的创建、使用和通信方式，以及如何设计一个好的组件系统。通过组件化开发，你可以更高效地构建复杂的小程序应用。",
    coverImg: "",
    createTime: new Date("2024-05-05 11:20:00"),
    readCount: 64
  }
]

// 云函数入口函数
exports.main = async (event, context) => {
  try {
    // 批量添加文章
    const addPromises = testArticles.map(article => {
      return db.collection('articles').add({
        data: article
      })
    })
    
    const results = await Promise.all(addPromises)
    
    return {
      success: true,
      message: `成功添加${testArticles.length}篇测试文章`,
      results: results
    }
  } catch (err) {
    console.error('添加测试文章失败', err)
    return {
      success: false,
      message: '添加测试文章失败',
      error: err
    }
  }
}